<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# Ce fichier est inspiré de Dotclear 2
# Copyright (c) 2003-2010 Olivier Meunier & Association Dotclear
# Dotclear 2 est distribué selon les termes de la licence GPL
# version 2.0.
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class antispamIPInterdits extends cpAntispam
{
	
	public function estIndesirable($auteur, $email, $ip, $titre, $contenu, $page_id, &$details)
	{
		
		if(!$ip) {
			return;
		}

		$strReq =
		'SELECT regle_valeur '.
		'FROM '.$this->core->prefix.'regles_antispam '.
		"WHERE regle_nom = 'IPInterdits'";
		
		$rs = $this->core->con->select($strReq);
		while ($rs->fetch())
		{
			list($patternRegle,$ipRegle,$maskRegle) = explode(':',$rs->regle_valeur);
			if ((ip2long($ip) & (integer) $maskRegle) == ((integer) $ipRegle & (integer) $maskRegle)) {
				$details = $patternRegle;
				return true;
			}
		}
		
		return;

	}
	
	public function getIP($order=false)
	{
		
		$strReq = 'SELECT regle_id, regle_valeur '.
			'FROM '.$this->core->prefix.'regles_antispam '.
			"WHERE regle_nom = 'IPInterdits'";
		
		if($order) {
			$strReq.= ' ORDER BY regle_valeur';
		}
	
		return $this->core->con->select($strReq);
		
	}
	
	public static function installer($core)
	{		
		$core->site->setStatutAntispam('IPInterdits', true);
	}

	public function moduleAdmin() {
		return 'antispamIPInterdits';
	}
	
}

?>